#ifndef ITERADORIMP_CPP
#define ITERADORIMP_CPP

#include "IteradorImp.h"
#include <iostream>
using namespace std;

template <class T> 
IteradorImp<T>::IteradorImp()
{
	principio = actual = NULL;
}

template <class T>
IteradorImp<T>::IteradorImp(const ListaImp<T> &l){
	actual = principio = l.primero;
}


template <class T>
void IteradorImp<T>::Reiniciar() 
{
	actual= principio;
}

template <class T>
bool IteradorImp<T>::HayElemento() const {
	return (actual != NULL);
}

template <class T>
T& IteradorImp<T>::ElementoActual() const
{
	return actual->dato;
}

template <class T>
void IteradorImp<T>::Avanzar() 
{
	actual = actual->siguiente;
}

#endif